home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / szgyt / igazi.txt < prev    next >
Text File  |  1996-03-20  |  22KB  |  414 lines

  1. Az igazi programozó nem Pascalban dolgozik
  2.  
  3. BEVEZETÉS
  4.  
  5. A régi szép idôkben (a számítógépek "aranykorában") könnyû volt
  6. megkülönböztetni az "igazi férfiakat" a "hátulgombolósoktól". Akkor azok voltak
  7. az igazi férfiak, akik megértették a programozást, a hátulgombolósok pedig
  8. azok, akik nem. Az igazi programozó ilyeneket szólt, hogy "DO I=1,10", meg hogy
  9. "ABEND" (igazándiból színtiszta nagybetûkkel beszéltek), a többiek pedig azt
  10. mondták, hogy "a számítógép túl bonyolult nekem", meg hogy "nem tudok
  11. kapcsolatot teremteni a számítógéppel - nekem túlságosan személytelen". (Amint
  12. ezt az /1/ irodalomban láthatjuk, az igazi férfiak nem félnek attól, hogy nem
  13. tudnak kapcsolatot teremteni, és attól sem, hogy elszemélytelenednek.
  14.  
  15. Csakhogy, mint mindig, változnak az idôk. Manapság olyan világgal kell
  16. szembenéznünk, amelyben öreg nénikéknek számítógép van a tûzhelyükben és 12
  17. éves flipperezô kölykök golyózhatják ki a kádból az igazi férfiakat. Manapság
  18. akárkinek lehet saját különbejáratú házi számítógépe. Az igazi programozót az a
  19. veszély fenyegeti, hogy kihal, és ZX80-nal felszerelt középiskolások fogják
  20. helyettesíteni.
  21.  
  22. Tiszta sor, hogy ki kell mutatnunk, mi a különbség a tipikus flipperezô
  23. középiskolás és az igazi programozó között. Ha a különbséget tisztáztuk, ez
  24. mutat majd valamit a fiataloknak, valamit, amire törekedhetnek, egy
  25. apuka-képet, ha úgy tetszik. Ugyancsak segítünk megmagyarázni az igazi
  26. programozó fônökeinek, hogy hiba lenne, ha a vezetésük alatt álló igazi
  27. programozókat 12 éves flipper öcsikkel helyettesítenék (jelentôs
  28. bérmegtakarítást érve el ezáltal).
  29.  
  30. NYELVEK
  31.  
  32. Legszembetûnôbb különbség a plebs és az igazi programozó között a használt
  33. nyelv. Az igazi programozó FORTRANban dolgozik. A hátulgombolós Pascalban.
  34. Egyszer Niklaus Wirth-et, a Pascal megalkotóját megkérdezték, hogy hívják,
  35. amire azt válaszota, hogy hívhatják név szerint "Virt"-nek, és érték szerint
  36. "Worth"-nek. (Lefordíthatatlan szójáték, a worth értéket is jelent.) Adódik,
  37. hogy Niklaus Wirth hátulgombolós, az igazi programozó csak egyféle
  38. paraméterátadási módot használ, mégpedig a cim szerintit, amint ezt az OS/370 G
  39. és H FORTRAN fordító teszi. Az igazi programozónak nincs szüksége ilyen
  40. absztrakt fogalmakra ahhoz, hagy elvégezze a munkáját - tökéletesen érzi magát
  41. egy kártyalyukasztóval, egy FORTRAN fordítóval, meg egy sörrel. úgyhogy
  42. jegyezzük meg a következôket:
  43.  
  44. 1. Az igazi programozó a szimbólum manipulációt FORTRANban csinálja.
  45.  
  46. 2. Az igazi programozó a szövegkezelést FORTRANban csinálja.
  47.  
  48. 3. Az igazi programozó a gépidôelszámolást - már ha megcsinálja egyáltalán -
  49. FORTRANban csinálja.
  50.  
  51. 4. Az igazi programozó a mesterséges intelligencia programokat FORTRANban
  52. csinálja.
  53.  
  54. Amit nem lehet megcsinálni FORTRANban, azt meg lehet csinálni assemblyben. Amit
  55. nem lehet megcsinálni assemblyben, azt nem lehet megcsinálni.
  56.  
  57. STRUKTURÅLT PROGRAMOZÅS
  58.  
  59. A számítógéptudomány tudósai az elmúlt öt évben kitalálták a strukturált
  60. programozást. Azt állítják, hogy a programokat könnyebb megérteni, ha bizonyos
  61. speciális nyelvi konstrukciókat és technikákat használunk, bár nem értenek
  62. teljesen egyet abban, hogy melyeket. Ålláspontjukat rendszerint olyan példákkal
  63. illusztrálják, amelyek elférnek valami zugfolyóirat egy lapján - tisztán
  64. látszik, hogy ez nem elég ahhoz, hogy meggyôzzön bárkit is. Mikor kijártam az
  65. iskolát, azt hittem, hogy én vagyok a legtökösebb programozó a világon.
  66. Verhetetlen amôbaprogramot tudtam írni öt különbözô nyelven, és 1000 soros
  67. programokat írtam, amelyek MÜKÖDTEK!. (Igazán!!.) Aztán a négybetûs életben az
  68. elsô feladatom az volt, hogy értsek meg egy 200000 soros FORTRAN programot, és
  69. gyorsítsam fel a kétszeresére. Akármelyik igazi programozó meg fogja mondani
  70. neked, hogy az egész világ strukturált programozása sem fog segíteni ilyen
  71. feladat megoldásakor, csak az, ha VALOBAN tehetséges vagy. Néhány megfigyelés
  72. az igazi programozóról, és a strukturált programozásról:
  73.  
  74. 1. Az igazi programozó nem fél a GOTO-tól.
  75.  
  76. 2. Az igazi programozó öt lap hosszú DO ciklust ír anélkül, hogy belezavarodna.
  77.  
  78. 3. Az igazi programozó szereti az aritmetikai IF-eket - érdekesebb tôlük a
  79. program.
  80.  
  81. 4. Az igazi programozó önmódosító kódot ír - különösen akkor, ha meg bír vele
  82. spórolni 20 nanoszekundumot egy kis ciklus közepén.
  83.  
  84. 5. Mivel a FORTRANban nincs strukturált REPEAT, UNTIL vagy CASE utasítás, az
  85. igazi programozónak nem kell ügyelnie arra, hogy ne használja ezeket. (De
  86. persze szükség esetén szimulálhatja ôket GOTO-val.)
  87.  
  88. Az adatstruktúráknak is sok figyelmet szentelnek újabban, bizonyos körökben
  89. egyre népszerûbbek az absztrakt adattípusok, pointerek, listák, stringek. Wirth
  90. (a fent említett hátulgombolós) képes volt megírni egy egész könyvet errôl /2/,
  91. amiben azt mondja, hagy a programot nem akárhogy kell megírni, hanem az
  92. adatstruktúrákra kell építeni. Viszont amint ezt minden igazi programozó tudja,
  93. az egyetlen használható adatstruktúra a tömb. Stringek, listák, struktúrák,
  94. halmazok: ezek mind a tömb speciális esetei, és ugyanúgy is kezelhetjük ôket,
  95. anélkül, hogy a programozási nyelvünket túlbonyolítanánk velük. A legrosszabb
  96. mindamellett ezekben az adatstruktúrákban az, hogy ráadásul külön deklarálni is
  97. kell ôket, pedig az igazi programozási nyelvekben, amint azt mindannyian
  98. tudjuk, implicit típusdefinició van a (6 betûs) változónév elsô karaktere
  99. alapján.
  100.  
  101. OPERÅCIOS RENDSZEREK
  102.  
  103. Milyen operációs rendszert használ egy igazi programozó? CP/M-et? Isten ments,
  104. a CP/M igazából egy játékszer operációs rendszer, csak anyókák és
  105. iskoláskölykök értik meg és használják.
  106.  
  107. A UNIX sokkal komplikáltabb - az átlagos UNIX buherátornak sose jut eszébe,
  108. hogy is hívják ezen a héten a PRINT parancsot - de ha belejövünk, kiderül, hogy
  109. a UNIX egy reklámozott videójáték. Az emberek nem csinálnak komoly munkákat
  110. UNIX alatt - vicceket küldözgetnek szerte a világba az UUCP hálózaton, meg
  111. kalandjátékokat írnak.
  112.  
  113. Nem, az igazi programozó természetesen OS/370-et használ. Az igazi programozó
  114. csak elôveszi a JCL kézikönyvét, és máris megtalálja (és meg is érti!) az
  115. IJK305I üzenet leírását. Az igazi programozó JCL-t tud írni anélkül, hogy
  116. egyáltalán kinyitná a kézikönyvet. Az igazán dögös programozó hexa számológép
  117. nélkül találja meg a hat megabyteos dumpban a hibát. (A saját szememmel
  118. láttam!)
  119.  
  120. Az OS igazán figyelemreméltó operációs rendszer. Több napos munkát lehet
  121. tönkretenni egyetlen rossz helyre rakott szóközzel, úgyhogy az éberség, az
  122. kívánatos. A rendszerhez hozzáférés tuti eszköze a kártyalyukasztó. Némelyek
  123. ugyan azt állítják, hogy az OS/370 alatt idôosztásos rendszer is van, de gondos
  124. vizsgálat után arra a következtetésre jutottam, hogy ez tévedés.
  125.  
  126. ESZKÖZÖK
  127.  
  128. Milyen eszközöket használ az igazi programozó? Elméletileg az igazi programozó
  129. a mérnöki pultról is bebillenyûzheti a programjait. Hajdanában, mikor a
  130. számítógépeknek még voltak mérnöki pultjaik, és ez némelykor így is történt. A
  131. tipikus igazi programozó az egész betöltôt fejbôl tudja hexában, és kijavítja,
  132. ha a programja felülirja azt. (Annakidején a memória még memória volt, és nem
  133. felejtett el mindent, mikor az áramot kikapcsolták. Manapság vagy elfelejti a
  134. dolgokat amikor nem kéne, vagy olyasmire is emlékszik, amit jobb lett volna
  135. elfelejteni.) A legenda szerin Seymour CRAY, a CRAY I és II szuperszámítógépek
  136. tervezôje (meg a legtöbb CDC gépé) a CDC 7600 elsô operációs rendszerét a
  137. mérnöki pultról pötyögte be, amikor a gépet elôször bekapcsolták. Fölösleges
  138. mondanunk, hogy Seymour Cray természetesen igazi programozó.
  139.  
  140. Kedvenc igazi programozóm a Texas Instruments egyik rendszerprogramozója. Az
  141. egyik nap távolsági hívást kapott egy usertôl, akinek fejreállt az operációs
  142. rendszere egy fontos munka mentésének a közepén. Jim telefonon keresztül
  143. megjavította a kárt, lemez i/o utasításokat iratva be a userrel a mérnöki
  144. pultról, aztán hexában kijavította a rendszertáblázatokat, a regisztereket meg
  145. telefonon olvasták neki. Erkölcsi tanulság: bár az igazi programozó
  146. szerszámkészletében van egy lyukasztó és egy sornyomtató, szükség esetén meg
  147. bír lenni egy telefonnal meg egy mérnöki pulttal is.
  148.  
  149. Némely cégeknél a szövegszerkesztés többé nem úgy néz ki, hogy tíz mérnök áll
  150. sorba egy 029-es lyukasztóhoz. Igazándiból abban az épületben, ahol én
  151. dolgozom, nincs is lyukasztó. Az igazi programozó ilyen helyzetben
  152. szövegszerkesztôkkel dolgozik. A legtöbb rendszerben többféle szövegszerkesztô
  153. van, és az igazi programozónak gondosan ki kell választania azt, amelyik a
  154. legjobban illik az egyéniségéhez. Sokan úgy gondolják, hogy a világon a legjobb
  155. szövegszerkesztôket a Xerox palo altói kutatóközpontjában fejlesztették ki, az
  156. Alto és Dorado gépekre. /3/ Sajnálatos módon nincs olyan igazi programozó, aki
  157. olyan gépet használt volna, ahol az operációs rendszert Smalltalknak hívják, és
  158. természetesen olyan sem, aki az egér farkát rángatná.
  159.  
  160. Némely dolgot ezekbôl a Xerox editorokból megcsináltak olyan gépen is, ahol az
  161. operációs rendszernek rendes neve van. Ilyen az EMACS és a VI. A gond ezekkel
  162. az editorokkal az, hogy az igazi programozó szerint az "azt kapod amit látsz"
  163. elv éppen olyan hibás az editoroknál, mint a nôknél. Nem, az igazi programozó
  164. az "ezt akartad, hát nesze" editort szereti - bonyolultat, titokzatosat,
  165. veszélyeset. TECO-t, példának okáért.
  166.  
  167. Megfigyelték, hogy egy TECO parancssorozat jóval érzékenyebb a vonal zajára,
  168. mint az olvashatóbb szöveg. /4/ Az egyik izgalmas játék amit a TECO-val
  169. játszani lehet, hogy beírjuk a nevünket parancsnak, aztán megpróbáljuk
  170. kitalálni, mit csinál. Gyakorlatilag bármely gépelési hiba valószínûleg
  171. tönkreteszi a programot, vagy rosszabb esetben finom, misztikus hibákat helyez
  172. egy már mûködô szubrutinba.
  173.  
  174. Ebbôl kifolyólag az igazi programozók kerülik egy majdnem mûködô program
  175. editálását - úgy gondolják, hogy egyszerûbb belenyúlni a bináris kódba a
  176. SUPERZAP programmal (vagy ennek megfelelôjével a nem IBM gépeken). Ez a recept
  177. annyira jó, hogy az IBM gépeken sok mûködô programnak már nincs is köze az
  178. eredeti forráskódhoz. Sokszor az eredeti forrás már nincs is meg. Most mikor
  179. egy ilyen programba bele kell nyúlni, a fônök nem tehet mást, minthogy hív egy
  180. igazi programozót. Nincs olyan hátulgombolós strukturált programozó, akinek
  181. egyáltalán fogalma lenne arról, hol is kell kezdeni. Ezt hivják "biztosított
  182. munkahelynek".
  183.  
  184. Néhány olyan szerszám, amit az igazi programozó nem használ:
  185.  
  186. 1. FORTRAN preprocesszorok, mint a MOTRAN és a RATFOR. Gyermekké tesznek. Lásd
  187. a fenti megjegyzéseket a strukturált programozásról.
  188.  
  189. 2. Forrásnyelvi debuggerek - az igazi programozó TUD dumpot olvasni.
  190.  
  191. 3. Indextúlcsordulást jelzô fordítók. Tönkreteszik a kreativitást, az
  192. EQUIVALENCE izgalmasabb használatát, és lehetetlenné teszik a rendszerterület
  193. negatív indexekkel módosítását.
  194.  
  195. 4. Forráskód nyilvántartó rendszerek. Az igazi programozó a forráskódot zárt
  196. szekrényben tartja, mert nyilvánvaló, hogy a tulajdonos nem hagyhatja
  197. ôrizetlenül szanaszéjjel értékes programjait. /5/
  198.  
  199. AZ IGAZI PROGRAMOZO MUNKA KÖZBAN
  200.  
  201. Hol dolgozik az igazi programozó? Milyen programok ,méltók ilyen tehetséges
  202. egyéniség erôfeszítésére? Biztosak lehetünk abban, hogy az igazi programozót
  203. nem fogjuk rajtakapni, amint éppen számlázóprogramot ír COBOLban, vagy az
  204. elôfizetôk címlistáját szortolja valami folyóiratnak. Az igazi programozó betû
  205. szerint eget-földet rázó feladatot kíván.
  206.  
  207. 1. Igazi programozók azok, akik a Los Alamos laborban dolgoznak, és atombomba
  208. szimulációkat futtatnak CRAY I/II gépeken.
  209.  
  210. 2. Igazi programozók fejtik meg az NSA-nál az orosz adásokat.
  211.  
  212. 3. Jórészt több ezer igazi programozó erôfeszítésének köszönhetô, hogy a mieink
  213. hamarább eljutottak a Holdra mint a ruszkik (és vissza is jöttek!).
  214.  
  215. 4. Igazi programozók dolgoznak a Boeingnél és írják a cirkáló rakéták operációs
  216. rendszereit.
  217.  
  218. A legtökösebb igazi programozók közül néhány a Jet Propulsion laborban dolgozik
  219. Kaliforniában. Sokan közülük fejbôl tudják a Voyager és a Pioneer ûrszondák
  220. operációs rendszerét.
  221.  
  222. Nagy, földi FORTRAN programok és kis, a szondán levô assembly programok
  223. kombinációival a navigáció és a rögtönzés hihetetlen mutatványát vitték véghez,
  224. 10 km-es pontossággal érve a Szaturnuszhoz 6 év repülés után, kijavítva vagy
  225. átkapcsolva a tönkrement rádiókat, érzékelôket, telepeket. Ållítólag egy igazi
  226. programozónak sikerült a Voyager szondán néhány száz byte használatlan
  227. területre besuvasztani egy mintafelismerô programot, amely megkereste,
  228. megtalálta és lefényképezte a Jupiter egy ismeretlen holdját.
  229.  
  230. A jelenlegi tervek szerint a Galileo ûrszonda gravitációval segített pályán fog
  231. menni a Mars mellett a Jupiter felé. Ez a pálya 80+-3 km-re halad el a Mars
  232. felszíne fölött. Ilyen pontosságú navigációt senki sem bízna egy Pascal
  233. programra (vagy egy Pascal programozóra).
  234.  
  235. Amint ez sejthetô, a világ sok igazi programozója dolgozik az amerikai
  236. kormánynak (Jórészt a hadügyminisztériumnak). Ennek nyilván így is kell lennie.
  237. îjabban sötét felhô jelent meg az igazi programozó láthatárán. îgy tünik, hogy
  238. a Hadügyminisztériumban valami magas polcra került hátulgombolósok az találták
  239. ki, hogy minden katonai programnak valami teljesen egységes "Ada" nevezetû
  240. nyelvben kell íródnia (Copyright DoD). Egy ideig úgy tûnt, hogy az Ada olyan
  241. nyelv, amely az igazi programozással ellentétes - vannak benne struktúrák,
  242. adattípusok, szigorú típusellenôrzés meg pontyosvesszôk. Szóval olyan nyelv,
  243. ami kiszorítja a kreativitást az igazi programozóból. Szerencsére a
  244. Hadügyminisztérium által elfogadott nyelv elég érdekes ahhoz, hogy az igazi
  245. programozó számára is elviselhetô legyen - bonyolult, és tartalmaz olyan
  246. lehetôségeket, amelyekkel meg lehet kavarni az operációs rendszert,
  247. újrarendezni a memóriát. És Edsgar Dijkstrának nem tetszik. /6/ (Dijkstra,
  248. amint ezt az olvasó bizonyára tudja, a "GOTO utasítás közismert
  249. ártalmasságáról" cimû cikk szerzôjeként szerzett hírnevet, amely mérföldkô volt
  250. a programozásmódszertan fejlôdésében, és a Pascal programozók meg a
  251. hátulgombolósok tapsa kísérte.) Egyébként az igazi programozó akármilyen
  252. nyelvben is bír FORTRAN programokat írni.
  253.  
  254. Az igazi programozó kompromisszumot is köthet, és dolgozhat valami kevésbé
  255. triviális feladaton is, mint az emberek kipusztítása, feltéve, hogy eleget
  256. fizetnek. Példának okáért néhány igazi programozó videojátékokat ír az
  257. Atarinak. (De persze nem játszik velük, mert az igazi programozó mindig tudja,
  258. hogyan kell megverni a gépet, és ebben nincs semmi érdekes.) A Lucasfilmnél
  259. mindenki igazi programozó. (Igazán hülyeség lenne nem megcsapolni ötvenmilló
  260. Startrek-szurkoló pénzét.) A számítógépes grafika területén az átlagnál
  261. kevesebb az igazi programozó, valószínûleg azért, mert még sem sem jött rá,
  262. mire is jó a számítógépes grafika. Másrészt viszont a grafikát FORTRANban
  263. csinálják, úgyhogy elég sok ember grafikázik, így kerülve el azt, hogy COBOLban
  264. kelljen adatfeldolgoznia.
  265.  
  266. AZ IGAZI PROGRAMOZO JÅTÉK KÖZBEN
  267.  
  268. Az igazi programozó azzal játszik, amivel dolgozik. Igazából folytonosan
  269. csodálkozik, hogy a munkaadója fizet azért, hogy ô azt csinálja, amit egyébként
  270. is tenne (de persze óvakodik attól, hogy ezt hangosan is kifejezze).
  271. Mindenesetre néha kilép a szobájából egy kiss friss levegôt szívni, meg pár
  272. üveg sörért. Néhány tipp, mirôl ismerszik meg az igazi programozó a
  273. számítógéptôl távol:
  274.  
  275. 1. Buliban azok az igazi programozók, akik a sarokban ülve az operációs
  276. rendszerek védelmérôl beszélgetnek, meg arról, hogy hogyan lehet azt
  277. megkerülni.
  278.  
  279. 2. A meccsen az az igazi programozó, aki minden rúgást összehasonlít a
  280. futtatott szimulácó listájával.
  281.  
  282. 3. A strandon az az igazi programozó, aki folyamatábrákat rajzol a homokba.
  283.  
  284. 4. Temetésen az igazi programozó mondja azt, hogy "Szegény George, pont
  285. befejezte volna azt a szortoló rutint, ha el nem viszi a szívroham."
  286.  
  287. 5. Az ABC-ben az az igazi programozó, aki maga akarja a lézerceruzával
  288. leolvasni a vonalkódot a konzervekrôl, mondván, hogy a kártyáit se bízta sose a
  289. lyukasztókra.
  290.  
  291. AZ IGAZI PROGRAMOZO TERMÉSZETES SZOKÅSAI
  292.  
  293. Milyen környezetben érzi jól magát az igazi programozó? Ez ugye fontos kérdés
  294. az igazi programozó fônökeinek. Tekintve, hogy az igazi programozó mennyibe
  295. kerül, érdemes ôt olyan környezetbe helyezni, ahol a legjobban végzi a
  296. munkáját.
  297.  
  298. A tipikus igazi programozó élettere termináljának közvetlen közelére terjed ki.
  299. Ezen teminál körül a következôk találhatók:
  300.  
  301. 1. Az összes program listája, amelyen az igazi programozó valaha is dolgozott,
  302. nagyjából idôrendi sorrendben, elfogalva a szoba összes sík felületét.
  303.  
  304. 2. Vagy fél tucat félig üres csésze hideg kávé. Esetleg csikkek is úszhatnak a
  305. kávéban, ha nem lehetett megtalálni a listák között a hamutartót. Néha a
  306. csészékben narancslé van.
  307.  
  308. 3. Hacsak nem különlegesen jó, OS JCL kézikönyvek és a Principles of Operation,
  309. néhány érdekesebb részletnél kinyitva.
  310.  
  311. 4. A falon egy sornyomtató naptár (az 1969-es évre).
  312.  
  313. 5. A padlón szétszórva csokispapírok.
  314.  
  315. 6. A fiók alján egy folyamatábrarajzoló sablon, amit az elôzô lakó hagyott itt.
  316. (Az igazi programozó programokat ír, nem pedig dokumentációt.)
  317.  
  318. Az igazi programozó 30, 40. vagy akár 50 órát is tud dolgozni egyfolytában,
  319. intenzív nyomás alatt. Igazából így szeret dolgozni. A hosszú válaszidô nem
  320. zavarja az igazi programozót - legalább szundíthat egy kicsit, míg lemegy a
  321. fordítás. Ha nincs elég nyomás az igazi programozón, úgy igyekszik rendezni a
  322. dolgokat, hogy a feladat valami kis, de érdekes részével fogalalkozik kilenc
  323. hétig, majd a maradékot az utolsó héten fejezi be, két vagy három, 50 órás
  324. maratonban. Ezzel nem csak az ôrületbe kergeti a fônökét, aki úgy gondolja,
  325. hogy a projekt sosem lesz kész, hanem ugyancsak jó ürügye van arra, hogy ne
  326. kelljen dokumentációt csinálnia. Åltalában:
  327.  
  328. 1. Az igazi programozó nem dolgozik 9-5-ig. (Hacsak nem este 9-tôl reggel
  329. 5-ig.)
  330.  
  331. 2. Az igazi programozó nem visel nyakkendôt.
  332.  
  333. 3. Az igazi programozó nem hord digócipôt.
  334.  
  335. 4. Az igazi programozó ebédre jön be /7/.
  336.  
  337. 5. Az igazi programozó vagy tudja a felesége nevét, vagy nem. Mindenesetre az
  338. ASCII (vagy EBCDIC) kódtáblát fejbôl tudja.
  339.  
  340. 6. Az igazi programozó nem tud fôzni. Az ABC nincs nyitva reggel 3-kor. Az
  341. igazi programozó ropin meg kávén él.
  342.  
  343. A JÖVÖ
  344.  
  345. Mit mondhatunk a jövôrôl? Mindenesetre el kell gondolkodnunk azon, hogy a
  346. programozók újabb generációjának nem olyan az életszemlélete, mint az
  347. elôdeiknek. Sokan közülük nem is láttak olyan számítógépet, amelynek egyáltalán
  348. lett volna mérnöki pultja. Manapság szinte egyikük sem tud számológép nélkül
  349. hexában számolni. A most végzettek puhák, megvédték ôket a programozás
  350. valóságától a forrásszintû nyomkövetôk, a zárójeleket számoló szövegszerkesztôk
  351. meg a "barátságos" operációs rendszerek. Sôt, ami a legszörnyûbb, ezek közül az
  352. úgynevezett számítógéptudósok közül némelyek anélkül kerülnek ki az egyetemrôl,
  353. hogy megtanulták volna a FORTRANt. El fogják árasztani a világot a UNIX
  354. buzerátorok meg a Pascal programozók?
  355.  
  356. Nekem úgy tûnik, hogy az igazi programozó számára van jövô. Sem az OS/370 sem a
  357. FORTRAN nem mutatja a kihalás jelét, a világ minden Pascal programozója összes
  358. erôfeszítése ellenére. Még olyan kis trükkök is, hogy a FORTRANba strukturált
  359. kódolási konvenciókat vezessenek be, sikertelenül jártak.
  360.  
  361. Persze megjelentek már a FORTRAN-77 fordítók, de hál' Istennek mindegyiket
  362. vissza lehet kapcsolni a jó öreg FORTRAN-66-ba már az elsô programsorban, hogy
  363. úgy forduljanak a DO ciklusok, ahogy azt az Isten megteremtette.
  364.  
  365. Még a UNIX sem olyan rossz az igazi programozónak mint hajdanán volt. A
  366. legutóbbi UNIX verziók már egészen úgy néznek ki, mint egy operációs rendszer,
  367. olyan, amely méltó az igazi programozó érdeklôdésére. Két különbözô, és kicsit
  368. inkompatibilis user interface, misztikus bonyolult teletype driver, meg
  369. virtuális memória. Ha figyelmen kívül hagyjuk azt a tényt, hogy a C
  370. "strukturált", még a C programozás is elfogadható az igazi programozónak. Végül
  371. is nincs ellenôrzés, a változónevek hét (tíz? nyolc?) karakteresek, és bedobták
  372. a pointer adattípust is, mintha a FORTRAN és az assembly legjobb részei össze
  373. lennének keverve. És még nem is szóltunk a DEFINE ravaszabb használatáról.
  374.  
  375. Nem, a jövô nem tûnik sötétnek. Az elmúlt néhány évben a sajtó még meg is
  376. jegyezte, hogy igazi programozók és buherátorok kerülnek ki a Stanfordról és a
  377. MIT-rôl is. Láthatóan az igazi programozás szelleme bennük is él. Amíg lesznek
  378. betegen definiált célok, bizarr hibák és teljesíthetetlen határidôk, mindig
  379. lesznek igazi programozók, akik rábukkannak a problémára, és megoldják,
  380. megspórolva a dokumentációt. Sokáig éljen a FORTRAN.
  381.  
  382. Köszönetnyilvánítás
  383.  
  384. Köszönetemet fejezem ki Jan E.-nek, Dave S.-nek, Rich G.-nek és Rich E.-nek,
  385. mert segítettek jellemezni az igazi programozót, Kathy E.-nek, hogy rávett, és
  386. ATD!AVSDS:MARK-nak a kezdeti inspirációért. (Meg magamnak, Dave N.-nak a
  387. gépelésért!)
  388.  
  389. Irodalom
  390.  
  391. 1. Feirstein, B.: "Real Men Dont Eat Quiche", New York, Pocket Books, 1982.
  392.  
  393. 2. Wirth, N.: "Algorithms + Data Structures = Programs", Prentice-Hall, 1976.
  394.  
  395. 3. Ilson, Awe.: "Recent Research in Text Processing", IEEE Trans. Prof.
  396. Commun., Vol PC-23, No. 4, Dec 4th 1980.
  397.  
  398. 4. Finseth, C.: "Theory and Practice of Text Editors - or - a Cookbook for An
  399. EMACS", B.S. thesis, MIT/LCS/TM-165, Massachusetts Institute of Technology, May
  400. 1980.
  401.  
  402. 5. Weinberg, G.: "The Psychology of Computer Programming", New York, Von
  403. Nostrand Reinhold, 1971, p.110.
  404.  
  405. 6. Dijkstra, E.: "On the GREEN Language submitted to the DoD", Sigplan notices,
  406. Vol 3 No. 10, Oct 1978.
  407.  
  408. 7. sdcarl!lin, "Real Programmers", UUcp-net, Thurs Oct 21 16:55:16 1982.
  409.  
  410. 8. Rose, Frank.: "Joy of Hacking", Science 82, Vol 3 No. 9, Nov 82, pp 58-66.
  411.  
  412. 9. "The Hacker Papers", Psychology Today, August 1980.
  413.  
  414.